Awesome PowerShell
      
      
    
    
      
    
    
      A curated list of delightful
      PowerShell packages
      and resources.
    
    
      PowerShell is a cross-platform (Windows, Linux, and macOS) automation and
      configuration tool that is optimized for dealing with structured data
      (e.g. JSON, CSV, XML, etc.), REST APIs, and object models. It includes a
      command-line shell and an associated scripting language.
    
    Contents
    
    API Wrapper
    
      - 
        HipChatAdmin - A
        module for simple integration with Atlassian HipChat via the HipChat
        API.
      
 
      - 
        PSGitHub - Module
        contains commands to manage GitHub through its REST API.
      
 
      - 
        Posh-GitHub -
        Cmdlets that expose the GitHub API.
      
 
      - 
        Posh-Gist - Cmdlets
        for interacting with GitHub Gist.
      
 
      - 
        PSGist - A module to work
        with GitHub Gists.
      
 
      - 
        PSAppVeyor - A module
        to interact with the AppVeyor REST API.
      
 
      - 
        PSSlack -
        Module for simple Slack integration.
      
 
      - 
        ConfluencePS
        - A module for interacting with Atlassian’s Confluence in powershell (by
        using the API).
      
 
      - 
        JiraPS - A module
        for interacting with Atlassian’s Jira in powershell (by using the API).
      
 
      - 
        PSTelegramAPI
        - Module for Telegram APIs
      
 
      - 
        PSTeams - A module for
        sending formatted messages to a Microsoft Teams Channel.
      
 
      - 
        PSURLScanio - A
        module for urlscan.io that is a
        service to scan and analyze websites.
      
 
    
    Blogs
    
    Books
    
      - 
        Exploring PowerShell Automation
        - a free eBook sampler that gives you an overview of how to administer
        your environment.
      
 
      - 
        PowerShell in Depth
        - The go-to reference for administrators. Every major shell technique,
        technology, and tactic is explained and demonstrated, providing a
        comprehensive reference to almost everything an admin would do in the
        shell.
      
 
      - 
        Windows PowerShell in Action, Third Edition
        - The latest revision of the comprehensive reference guide.
      
 
      - 
        Learn Windows PowerShell in a Month of Lunches, Third Edition
        - An innovative tutorial designed for busy IT professionals. Just set
        aside one hour a day - lunchtime would be perfect - for a month, and
        you’ll be automating Windows tasks faster than you ever thought
        possible.
      
 
      - 
        Learn PowerShell in a Month of Lunches, Linux and macOS Edition
        - A task-focused tutorial for administering Linux and macOS systems
        using Microsoft PowerShell.
      
 
      - 
        Learn PowerShell Scripting in a Month of Lunches
        - A guide to the process of developing, testing, and deploying scripts,
        and the art of toolmaking.
      
 
      - 
        The Monad Manifesto, Annotated - Jeffrey Snover
        - Design and theory behind the language from its creator.
      
 
      - 
        Windows PowerShell Networking Guide
        - Language specific guide to Windows networking.
      
 
      - 
        Why PowerShell? - Warren Frame & Don Jones
        - Use cases for the language.
      
 
      - 
        The Big Book of PowerShell Gotchas - Don Jones
        - Excellent guide to avoiding common pitfalls.
      
 
      - 
        The Big Book of PowerShell Error Handling - Dave Wyatt
        - Great reference for error handling techniques.
      
 
      - 
        Secrets of PowerShell Remoting
        - On all things remoting. Workflow, fan-out, etc.
      
 
      - 
        PowerShell Notes for Professionals
        - Compilation of notes and snippets.
      
 
      - 
        PowerShell for SysAdmins: Workflow Automation Made Easy
        - Learn how to manage and automate your desktop and server environments.
      
 
    
    
    
      - 
        psake - Build automation
        tool inspired by rake (aka make in Ruby) and bake (aka make in Boo).
      
 
      - 
        Invoke-Build -
        Build and test automation tool inspired by psake.
      
 
      - 
        PSDeploy
        - Module built for the purpose of simplifying multiple types of
        deployments.
      
 
      - 
        BuildHelpers
        - Variety of helper functions for CI/CD scenarios.
      
 
      - 
        YDeliver - Build and
        deployment framework aimed at .NET projects.
      
 
    
    Code and Package Repositories
    
      - 
        GitHub
        - Looking for an Open Source PowerShell project? It’s probably here.
      
 
      - 
        PowerShell Gallery -
        Official PowerShell package repository, used by PowerShellGet.
      
 
      - 
        PowerShell Test Gallery -
        A test version of the PowerShell Gallery. Useful when developing new
        modules.
      
 
    
    Commandline Productivity
    
      - 
        posh-git - Set of
        PowerShell scripts which provide Git/PowerShell integration.
      
 
      - 
        PSReadLine - Bash
        inspired readline implementation for PowerShell. Keeps history between
        sessions, adds reverse-history search and makes the commandline
        experience much better overall.
      
 
      - 
        TabExpansionPlusPlus
        - PowerShell module to make customizing tab completion easier and add a
        library of custom argument completers.
      
 
      - 
        Jump-Location -
        PowerShell 
cd that reads your mind.
        Autojump implementation
        for PowerShell. UNMAINTAINED
       
      - 
        Zlocation *
        z.sh implementation for
        PowerShell. Similar to Jump-Location.
      
 
      - 
        thefuck - Magnificent app
        which corrects your previous console command (by typing
        
fuck).
       
      - 
        pslinq - LINQ
        (LINQ2Objects) for PowerShell.
      
 
      - 
        posh-with - Command
        prefixing for continuous workflow using a single tool.
      
 
      - 
        poco*
        peco implementation.
        Interactive filtering tool.
      
 
      - 
        PSDirTag - DirTags are
        relative paths that appear as variables in the PowerShell prompt that
        update as you navigate. Saves keystrokes when navigating folder
        structures.
      
 
      - 
        PSUtil
        - Designed to make the user’s console life more convenient. It includes
        shortcuts, aliases, key bindings and convenience functions geared
        towards greater efficiency and less typing.
      
 
      - 
        Microsoft.PowerShell.UnixCompleters
        - Get parameter completion for native Unix utilities. Requires zsh or
        bash.
      
 
      - 
        PSDepend
        - PowerShell Dependency Handler
      
 
      - 
        PSScriptTools
        - A set of of PowerShell functions you might use to enhance your own
        functions and scripts or to facilitate working in the console.
      
 
      - 
        zoxide - A better
        way to navigate your filesystem. Written in Rust, cross-shell, and much
        faster than other autojumpers.
      
 
    
    Communities
    
    Data
    
      - 
        hjson-powershell
        - Simple powershell module for conversion between
        HJSON and JSON.
      
 
      - 
        ImportExcel - Module
        to import/export Excel spreadsheets, without Excel.
      
 
      - 
        powershell-yaml
        - PowerShell CmdLets for YAML format manipulation.
      
 
      - 
        PSWriteHTML -
        PSWriteHTML is a PowerShell module allowing you to create HTML easily.
      
 
      - 
        PSWritePDF - Module
        to create, edit, split, merge PDF files on Windows / Linux and MacOS.
      
 
      - 
        PSWriteWord -
        Module to create Microsoft Word documents without Microsoft Word
        installed.
      
 
    
    Documentation Helper
    
      - 
        platyPS - Write
        PowerShell External Help in Markdown.
      
 
      - 
        Invoke-CreateModuleHelpFile
        - PowerShell function to create a HTML help file for a module and all
        it’s commands.
      
 
      - 
        PScribo -
        PowerShell documentation framework what can create HTML, Word, text
        files based on PowerShell-based DSL (domain specific language).
      
 
    
    Editors and IDEs
    
    Frameworks
    
      - 
        Carbon - DevOps for automating the
        configuration of Windows computers.
      
 
      - 
        PowerShell PowerUp
        - Powerful server management framework.
      
 
      - 
        PSCX - PowerShell Community
        Extensions - Useful set of additional cmdlets.
      
 
      - 
        PSFramework
        - Easily add configurations, logging and more to your own PowerShell
        module.
      
 
      - 
        Kansa - Incident
        response framework.
      
 
    
    Interactive Learning
    
      - 
        PSKoans - A simple, fun,
        and interactive way to learn the PowerShell language through Pester unit
        testing.
      
 
      - 
        Jupyter-PowerShell
        - Jupyter Kernel for PowerShell.
      
 
    
    Logging
    
      - 
        PoShLog -
        Cross-platform, extensible logging module built upon
        Serilog.
      
 
    
    Module Development Templates
    
      - 
        Plaster - Plaster is
        a template-based file and project generator written in PowerShell.
      
 
      - 
        PSModuleDevelopment
        - Get started using module templates in 2 minutes with this module’s low
        entry barrier and casual convenience.
      
 
      - 
        Catesta - Catesta
        is a PowerShell module project generator. It uses templates to rapidly
        scaffold test and build integration for a variety of CI/CD platforms.
      
 
    
    Package Managers
    
      - 
        PowerShellGet
        - PowerShellGet is the Package Manager for PowerShell. Packages are
        available on
        PowerShellGallery.
      
 
      - 
        Chocolatey - The package manager
        for Windows. The sane way to manage software on Windows.
      
 
      - 
        GitLab - Use a
        GitLab server as Package Provider.
      
 
      - 
        Scoop - A command-line installer for
        Windows.
      
 
      - 
        PowerShell App Deployment Toolkit
        - Provides a set of functions to perform common application deployment
        tasks and to interact with the user during a deployment.
      
 
    
    Parallel Processing
    
      - 
        PoshRSJob - Provides an
        alternative to PSJobs with greater performance and less overhead to run
        commands in the background.
      
 
      - 
        Invoke-Parallel
        - This function will take in a script or scriptblock, and run it against
        specified objects(s) in parallel.
      
 
      - 
        PSThreadJob -
        Module for running concurrent jobs based on threads rather than
        processes.
      
 
    
    Podcasts
    
    Security
    
      - 
        File System Security
        - Allows a much easier management of permissions on files and folders.
      
 
      - 
        PowerShellArsenal
        - Module used to aid a reverse engineer.
      
 
      - 
        PowerTools -
        Collection of projects with a focus on offensive operations.
      
 
      - 
        PowerForensics
        - Popular live disk forensics platform for windows.
      
 
      - 
        PowerSploit
        - Post-exploitation framework.
      
 
      - 
        PowerShellEmpire
        - Post-exploitation agent.
      
 
      - 
        PSReflect -
        Easily define in-memory enums, structs, and Win32 functions in
        PowerShell. Useful for attacks,
        example.
      
 
      - 
        BloodHound -
        Easily identify highly complex attack paths that would otherwise be
        impossible to quickly identify.
      
 
      - 
        Nishang - Enables
        scripting for red team, penetration testing, and offensive security.
      
 
      - 
        Harness - Interactive
        remote PowerShell Payload.
      
 
      - 
        Invoke-Obfuscation
        - PowerShell Obfuscator.
      
 
      - 
        p0wnedShell -
        PowerShell Runspace Post Exploitation Toolkit.
      
 
      - 
        PESecurity - Module
        to check if a Windows binary (EXE/DLL) has been compiled with ASLR, DEP,
        SafeSEH, StrongNaming, and Authenticode.
      
 
      - 
        Powershellery -
        Powershell scripts used for general hackery.
      
 
      - 
        PowerUpSQL - Toolkit
        for Attacking SQL Server.
      
 
    
    SharePoint
    
      - 
        AutoSPInstaller - Automated
        SharePoint 2010-2019 installation script.
      
 
      - 
        Client-side SharePoint
        - API for SharePoint 2010, 2013 and Online.
      
 
      - 
        SPReplicator
        - SPReplicator helps replicate SharePoint list data to/from CSV, SQL
        Server, SharePoint itself and more.
      
 
    
    SQL Server
    
      - 
        dbatools - Helps SQL Server Pros be
        more productive with instance migrations and much more.
      
 
      - 
        SimplySql -
        SimplySql is a module that provides an intuitive set of cmdlets for
        talking to databases that abstracts the vendor specifics. The basic
        pattern is to connect to a database, execute one or more sql.
      
 
    
    Testing
    
      - 
        Pester - PowerShell BDD
        style testing framework.
      
 
      - 
        Format-Pester -
        PowerShell module for documenting Pester’s results - exports Pester
        results to HTML, Word, text files using
        PScribo.
      
 
      - 
        Selenium
        - PowerShell module to run a Selenium WebDriver.
      
 
      - 
        PSScriptAnalyzer
        - PSScriptAnalyzer provides script analysis and checks for potential
        code defects in the scripts by applying a group of built-in or
        customized rules on the scripts being analyzed.
      
 
    
    Themes
    
      - 
        Oh-My-Posh -
        Tons of beautiful theme that can be enabled by one single command
        (includes many awesome powerline theme).
      
 
      - 
        PoshColor -
        Colour output from common commands with support for custom themes.
      
 
      - 
        Powerline - PowerShell
        Classes for richer output and prompts.
      
 
      - 
        Starship - The
        minimal, blazing fast, and extremely customizable prompt for any shell.
      
 
    
    UI
    
      - 
        AnyBox - Designed to
        facilitate script input/output with an easily customizable WPF window.
      
 
      - 
        BurntToast - Module
        for creating and displaying Toast Notifications on Microsoft Windows 10.
      
 
      - 
        Graphical -
        Module to plot colorful console 2D Graphs (Scatter, Bar, Line).
      
 
      - 
        GraphicalTools
        - A module that mixes PowerShell and GUIs! - built on Avalonia and
        gui.cs.
      
 
      - 
        PS-Menu - Simple
        module to render interactive console menu.
      
 
      - 
        PSWriteColor -
        Write-Color is a wrapper around Write-Host allowing you to create nice
        looking scripts, with colorized output.
      
 
      - 
        Terminal-Icons
        - Module to show file and folder icons in the terminal.
      
 
      - 
        psInlineProgress
        - Write inline progress bars in PowerShell.
      
 
    
    Videos
    
    Webserver
    
      - 
        Flancy - Web
        microframework for Windows PowerShell.
      
 
      - 
        Pode - Pode is a
        Cross-Platform PowerShell framework for creating web servers to host
        REST APIs, Web Sites, and TCP/SMTP Servers.
      
 
      - 
        Polaris - A
        cross-platform, minimalist web framework for PowerShell.
      
 
      - 
        WebCommander - Run
        scripts and view results, in a friendly web GUI or via a web service.
      
 
      - 
        Universal Dashboard
        - Cross-platform module for developing websites and REST APIs.
      
 
    
    Misc
    
      - 
        DbgShell - A
        PowerShell front-end for the Windows debugger engine.
      
 
      - 
        poke - Crazy cool
        reflection module for PowerShell. Explore and invoke private APIs like
        nobody is watching. Useful for security research, testing and quick
        hacks.
      
 
      - 
        WSLab - Windows Server
        rapid lab deployment scripts.
      
 
      - 
        PoshBot -
        Powershell-based bot framework.
      
 
      - 
        PoShKeePass -
        Module for working with
        KeePass databases.